/**
 * 
 */
package org.appfuse.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;

import org.compass.annotations.Searchable;
import org.compass.annotations.SearchableId;

/**
 * @author happy home
 *
 */
@Entity
@Table(name="new_project_details")
@Searchable
@XmlRootElement
public class NewProjectDetail implements Serializable {
	
	private Long id;
	private Long userId;
	private Long projectId;
	private String projectTitle;
	private String projectDescription;
	private String systemName;
	private String projectType;
	
	private String projectManager;
	private String businessQualityRepresentative;
	private String userProjectLeader;
	private String isProjectLeader;
	private String userRepresentative;
	private String projectTechnicalCoordinator;
	private String applicationExpert; 
	private String methodologyExpert;
	private String validationExpert;
	/**
	 * @return the applicationExpert
	 */
	@Column(name="application_expert", nullable=false, length=50)
	public String getApplicationExpert() {
	
		return applicationExpert;
	}
	/**
	 * @param applicationExpert the applicationExpert to set
	 */
	public void setApplicationExpert(String applicationExpert) {
		this.applicationExpert = applicationExpert;
	}
	/**
	 * @return the businessQualityRepresentative
	 */
	@Column(name="business_quality_representative", nullable=false, length=50)
	public String getBusinessQualityRepresentative() {
		return businessQualityRepresentative;
	}
	/**
	 * @param businessQualityRepresentative the businessQualityRepresentative to set
	 */
	public void setBusinessQualityRepresentative(
			String businessQualityRepresentative) {
		this.businessQualityRepresentative = businessQualityRepresentative;
	}
	/**
	 * @return the id
	 */
	@Id
	  @GeneratedValue(strategy=GenerationType.AUTO)
	  @SearchableId
	public Long getId() {
		return id;
	}
	/**
	 * @param id the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}
	/**
	 * @return the isProjectLeader
	 */
	@Column(name="is_project_leader", nullable=false, length=50)
	public String getIsProjectLeader() {
		return isProjectLeader;
	}
	/**
	 * @param isProjectLeader the isProjectLeader to set
	 */
	public void setIsProjectLeader(String isProjectLeader) {
		this.isProjectLeader = isProjectLeader;
	}
	/**
	 * @return the methodologyExpert
	 */
	@Column(name="methodology_expert", nullable=false, length=50)
	public String getMethodologyExpert() {
		return methodologyExpert;
	}
	/**
	 * @param methodologyExpert the methodologyExpert to set
	 */
	public void setMethodologyExpert(String methodologyExpert) {
		this.methodologyExpert = methodologyExpert;
	}
	/**
	 * @return the projectDescription
	 */
	@Column(name="project_description", nullable=false, length=255)
	public String getProjectDescription() {
		return projectDescription;
	}
	/**
	 * @param projectDescription the projectDescription to set
	 */
	public void setProjectDescription(String projectDescription) {
		this.projectDescription = projectDescription;
	}
	/**
	 * @return the projectId
	 */
	@Column(name="project_Id", nullable=false, length=20)
	public Long getProjectId() {
		return projectId;
	}
	/**
	 * @param projectId the projectId to set
	 */
	public void setProjectId(Long projectId) {
		this.projectId = projectId;
	}
	/**
	 * @return the projectManager
	 */
	@Column(name="project_manager", nullable=false, length=50)
	public String getProjectManager() {
		return projectManager;
	}
	/**
	 * @param projectManager the projectManager to set
	 */
	public void setProjectManager(String projectManager) {
		this.projectManager = projectManager;
	}
	/**
	 * @return the projectTechnicalCoordinator
	 */
	@Column(name="project_technical_coordinator",nullable=false,length=50)
	public String getProjectTechnicalCoordinator() {
		return projectTechnicalCoordinator;
	}
	/**
	 * @param projectTechnicalCoordinator the projectTechnicalCoordinator to set
	 */
	public void setProjectTechnicalCoordinator(String projectTechnicalCoordinator) {
		this.projectTechnicalCoordinator = projectTechnicalCoordinator;
	}
	/**
	 * @return the projectTitle
	 */
	@Column(name="project_title", nullable=false, length=50)
	public String getProjectTitle() {
		return projectTitle;
	}
	/**
	 * @param projectTitle the projectTitle to set
	 */
	public void setProjectTitle(String projectTitle) {
		this.projectTitle = projectTitle;
	}
	/**
	 * @return the projectType
	 */
	@Column(name="project_type", nullable=true, length=50)
	public String getProjectType() {
		return projectType;
	}
	/**
	 * @param projectType the projectType to set
	 */
	public void setProjectType(String projectType) {
		this.projectType = projectType;
	}
	/**
	 * @return the systemName
	 */
	@Column(name="system_name", nullable=true, length=50)
	public String getSystemName() {
		return systemName;
	}
	/**
	 * @param systemName the systemName to set
	 */
	public void setSystemName(String systemName) {
		this.systemName = systemName;
	}
	/**
	 * @return the userId
	 */
	@Column(name="user_id", nullable=false, length=20)
	public Long getUserId() {
		return userId;
	}
	/**
	 * @param userId the userId to set
	 */
	public void setUserId(Long userId) {
		this.userId = userId;
	}
	/**
	 * @return the userProjectLeader
	 */
	@Column(name="user_project_leader", nullable=false, length=50)
	public String getUserProjectLeader() {
		return userProjectLeader;
	}
	/**
	 * @param userProjectLeader the userProjectLeader to set
	 */
	
	public void setUserProjectLeader(String userProjectLeader) {
		this.userProjectLeader = userProjectLeader;
	}
	/**
	 * @return the userRepresentative
	 */
	@Column(name="user_representative", nullable=false, length=50)
	public String getUserRepresentative() {
		return userRepresentative;
	}
	/**
	 * @param userRepresentative the userRepresentative to set
	 */
	public void setUserRepresentative(String userRepresentative) {
		this.userRepresentative = userRepresentative;
	}
	/**
	 * @return the validationExpert
	 */
	@Column(name="validation_expert" , nullable=false , length=50)
	public String getValidationExpert() {
		return validationExpert;
	}
	/**
	 * @param validationExpert the validationExpert to set
	 */
	public void setValidationExpert(String validationExpert) {
		this.validationExpert = validationExpert;
	}
}
		
